// 对axios进行二次封装
import axios from 'axios'
// 引入vuex/store数据模块
import store from '@/store'
// 1.利用axios对象的方法,去创建一个实例
const requests = axios.create({
  // 基础路径
  baseURL: 'http://39.98.123.211/api',
  // 超时时间
  timeout: 5000,
  // 
})

// 引入进度条
import nprogress from 'nprogress'
// 引入进度条样式
import 'nprogress/nprogress.css'
//start 进度条开始  done结束

// 请求拦截 
requests.interceptors.request.use((config) => {
  // 添加token到header头
  config.headers.token = JSON.parse(localStorage.getItem('TOKEN'))
  if(store.state.detail.uuid_token){
    // 请求头添加一个临时身份字段
    config.headers.userTempId = store.state.detail.uuid_token
  }
  // 进度条开始
  nprogress.start()
  return config
})

// 响应拦截器
requests.interceptors.response.use((res) => {

  // 进度条结束
  nprogress.done()


  return res.data
}, (e) => {
  return Promise.reject(new Error(e))
})

// 对外暴露
export default requests